This description relates to a computer system and a method for implementing a power-saving mode in a computer system to reduce power consumption by adjusting the speed of a CPU according to a CPU power management mode of the computer system.
Portable computer systems, such as, for example, a laptop or notebook computer, are universally used because of excellent portability and mobility. As new types of mobile services appear, such as mobile Internet service, and digital multimedia broadcasting (DMB) service, it is expected that demand for portable computers will increase more rapidly. As the available services for portable computers become more diversified and entertainment content rapidly increases, the frequency and time spent using portable computers accordingly increase. Therefore, recent research and development efforts have been directed at technologies for reducing power consumption of portable computers.
One conventional technology is a method in which power consumption is minimized by turning off the power of unused devices according to the selection of a user. In this system, a user manages the power consumption in a computer system having a main board on which devices are packaged by turning off power to the unused devices.
In another method for reducing power consumption of a computer system, the activity of a computer system is checked, and a processor is paused if there is no system activity after a certain period of time. The paused processor runs again in response to the request of a user.
INTEL SPEEDSTEP® technology is a conventional processor-related technology with low power consumption. Power-saving capability of INTEL SPEEDSTEP® provides four modes supported by a CPU, so as to enable a user to select a CPU mode suitable to his/her environment. The processor voltage and a core frequency are dynamically adjusted according to the respective modes, thus reducing power consumption.
The CPU supporting the INTEL SPEEDSTEP® has specific registers. One of them is a register (IA32_PERT_STS) for storing the current CPU voltage, the status of a bus ratio, and maximum and minimum supportable values of a bus ratio. Another register is a register for setting the current CPU voltage and the bus ratio. An Operating System (OS) changes the settings of such a register and, in the end, actively adjusts CPU speed according to the user's setup. In this way, a power-saving effect is achieved.
When the user changes the CPU mode, the operating system effectively adjusts the CPU speed according to the load of the CPU through the register. For example, if the user sets the CPU mode to an optimal battery mode or a full battery mode of the CPU, the operating system fixes the full CPU speed, for example, to 800 MHz, and further lowers the CPU speed according to a system state through the above-mentioned register.
However, in the case of a computer having a CPU which does not provide the power-saving capability of the INTEL SPEEDSTEP® hardware, various CPU power management modes may still be supported. For example, in such a CPU, the CPU speed may not be changed in response to a power-saving mode, for example, even if a power-saving mode such as an optimal battery mode or a full battery mode of the CPU is selected. In this case, only power supplied to the CPU and other connected devices, such as a hard disk, an LCD and so forth, are adjusted.
Relatively lower price computers do not currently support the above-mentioned IA32_PERT_STS register, and do not support the INTEL SPEEDSTEP® capability. Accordingly, substantial power-saving effects cannot be obtained in these lower priced computers because CPU speed is not lowered in response to a user selecting a power-saving CPU mode, such as an optimal battery mode or a full battery mode of the CPU.